From b6aa6f0fa9e36cdcacd608f55eb2031a0382dc2b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 28 Oct 2004 16:50:10 +0000 Subject: [PATCH] Use g_signal_connect_object() to prevent premature finalization of the 2004-10-28 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_start_editing): Use g_signal_connect_object() to prevent premature finalization of the cell_editable while the key_press_event signal is handled. (#156325, Olivier Andrieu) --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtkcombobox.c | 18 ++++++++---------- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index aa1cc4e8b1..fe230cd79f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2004-10-28 Matthias Clasen + * gtk/gtkcombobox.c (gtk_combo_box_start_editing): Use + g_signal_connect_object() to prevent premature finalization + of the cell_editable while the key_press_event signal is + handled. (#156325, Olivier Andrieu) + * *: Clean up many sparse warnings. (#156698, Kjartan Maraas) * gtk/gtktreeview.c (gtk_tree_view_remove_widget): Disconnect diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index aa1cc4e8b1..fe230cd79f 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,5 +1,10 @@ 2004-10-28 Matthias Clasen + * gtk/gtkcombobox.c (gtk_combo_box_start_editing): Use + g_signal_connect_object() to prevent premature finalization + of the cell_editable while the key_press_event signal is + handled. (#156325, Olivier Andrieu) + * *: Clean up many sparse warnings. (#156698, Kjartan Maraas) * gtk/gtktreeview.c (gtk_tree_view_remove_widget): Disconnect diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index aa1cc4e8b1..fe230cd79f 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,5 +1,10 @@ 2004-10-28 Matthias Clasen + * gtk/gtkcombobox.c (gtk_combo_box_start_editing): Use + g_signal_connect_object() to prevent premature finalization + of the cell_editable while the key_press_event signal is + handled. (#156325, Olivier Andrieu) + * *: Clean up many sparse warnings. (#156698, Kjartan Maraas) * gtk/gtktreeview.c (gtk_tree_view_remove_widget): Disconnect diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index aa1cc4e8b1..fe230cd79f 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,5 +1,10 @@ 2004-10-28 Matthias Clasen + * gtk/gtkcombobox.c (gtk_combo_box_start_editing): Use + g_signal_connect_object() to prevent premature finalization + of the cell_editable while the key_press_event signal is + handled. (#156325, Olivier Andrieu) + * *: Clean up many sparse warnings. (#156698, Kjartan Maraas) * gtk/gtktreeview.c (gtk_tree_view_remove_widget): Disconnect diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 14c5ad47c4..f6dace279f 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -4714,10 +4714,8 @@ gtk_cell_editable_key_press (GtkWidget *widget, } else if (event->keyval == GDK_Return) { - if (GTK_IS_CELL_EDITABLE (combo_box)) - gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); - if (GTK_IS_CELL_EDITABLE (combo_box)) - gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); + gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); + gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); return TRUE; } @@ -4785,17 +4783,17 @@ gtk_combo_box_start_editing (GtkCellEditable *cell_editable, if (combo_box->priv->cell_view) { - g_signal_connect (combo_box->priv->button, "key_press_event", - G_CALLBACK (gtk_cell_editable_key_press), - cell_editable); + g_signal_connect_object (combo_box->priv->button, "key_press_event", + G_CALLBACK (gtk_cell_editable_key_press), + cell_editable, 0); gtk_widget_grab_focus (combo_box->priv->button); } else { - g_signal_connect (GTK_BIN (combo_box)->child, "key_press_event", - G_CALLBACK (gtk_cell_editable_key_press), - cell_editable); + g_signal_connect_object (GTK_BIN (combo_box)->child, "key_press_event", + G_CALLBACK (gtk_cell_editable_key_press), + cell_editable, 0); gtk_widget_grab_focus (GTK_WIDGET (GTK_BIN (combo_box)->child)); GTK_WIDGET_UNSET_FLAGS (combo_box->priv->button, GTK_CAN_FOCUS); -- 2.30.2